/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.farent.solutions.plugins.stripes.hyperstripes.core;

import com.farent.solutions.plugins.stripes.hyperstripes.spi.RenderKit;

/**
 *
 * @author user
 */
public interface ComponentTypeStateHelper extends ComponentIdVendor {

    @Override
    String createUniqueId(String seed);

    RenderKit getRenderkit();

    /**
     *
     * @return The StripesApplicationContext which manages items that are required accross
     * boundaries and components such as renderKits and Componet Key Maps
     */
    StripesApplicationContext getHsContext();

    /**
     * Saves a component Id against a Hyperstripes path to allow
     * easy identification of the component during searches
     */
    void saveComponentKeyMap(String uniqueId, String componentId);

    void setHsContext(StripesApplicationContext ctx);

    void setName(String name);

    String getName();

}
